/*
  C202407-P2：分段
  题目描述
    现在有 n 个连续的小木棍，每根木棍的长度分别为 ai，
    现在要将他们连续地拼接成整体的木棍来减少木棍个数（只能相邻的互相拼接在一起），
    最终要求每个拼接完好的木棍长度不能超过 M（可以等于M），并且希望最终完好的木棍要尽可能的少。
    那么我们最少能得到几个完好的木棍呢？
    例如:
      初始我们共有5个小木棍，长度分别为 4 2 4 5 1，M = 6
      那么最终我们可以得到 (4+2)、(4) 和 (5+1) 共3个木棍，这是最少的情况。
  输入描述
    第一行包含两个正整数 N, M，表示了数列 Ai 的长度与每段和的最大值；
    第二行包含 N 个空格隔开的非负整数 Ai。
  输出描述
    仅包含一个正整数，输出最终最少有几个木棍。
  样例1
    输入
      5 6
      4 2 4 5 1
    输出
      3
  提示
    对于 20% 的数据，有 N ≤ 10；
    对于 40% 的数据，有 N ≤ 1000；
    对于 100% 的数据，有 N ≤ 10^5, M ≤ 10^9，M 大于所有数的最大值。
*/